package com.lgl.scsapi.base.dao;

import java.util.List;
import java.util.Map;

public interface DAO {
	
	/**
	 * 保存对象
	 * @param str
	 * @param obj
	 * @return
	 */
	public int save(String str, Object obj) ;
	
	/**
	 * 修改对象
	 * @param str
	 * @param obj
	 * @return
	 */
	public int update(String str, Object obj);
	
	/**
	 * 删除对象 
	 * @param str
	 * @param obj
	 * @return
	 */
	public int delete(String str, Object obj);

	/**
	 * 查找对象
	 * @param str
	 * @param obj
	 * @return
	 * @throws Exception
	 */
	public Object findForObject(String str, Object obj);

	/**
	 * 查找对象
	 * @param str
	 * @param obj
	 * @return
	 */
	public List<?> findForList(String str, Object obj);
	
	/**
	 * 查找对象封装成Map
	 * @param sql
	 * @param obj
	 * @param key
	 * @param value
	 * @return
	 */
	public Map<String, Object> findForMap(String sql, Object obj, String key, String value);
	/**
	 * 通过SQL语句插入数据
	 * @param str
	 * @param sql
	 * @return
	 */
	public int insertBySql(String str, String sql);
	/**
	 * 批量更新
	 * @param str
	 * @param objs
	 * @return
	 */
	public int batchSave(String str, List<?> objs);
	/**
	 * 批量删除
	 * @param str
	 * @param objs
	 * @return
	 */
	public int batchDelete(String str, List<?> objs);
	/**
	 * 批量更新
	 * @param str
	 * @param objs
	 * @return
	 */
	public void batchUpdate(String str, List<?> objs);
}
